﻿using UnityEngine;
using System.Collections;
using System;
using UnityEngine.Events;

namespace Titan.UI
{
    [Serializable]
    public class EventBase
    {
        public UnityEngine.Object Target;
        public UnityEngine.Object Script;
        public UnityEngine.Object ParamObj;
        public string MethodName = null;
    }

    [Serializable]
    public class CallEvent : EventBase
    {
        //Used for Serialize the function param1 type
        public string ParamType;
    }

    [Serializable]
    public class DataEvent : EventBase
    {
        //If want to extend,pay attention to the index in DataEventDrawer
        public enum ConstDataType 
        {
            None,
            Customer,
        }

        public ConstDataType DataType = ConstDataType.None;
    }


    [Serializable]
    public class MsgOption
    { 
        public CallEvent callEvent;
        public DataEvent dataEvent;

        public MsgOption()
        {

        }
    }
}
